//存放主要交互逻辑
//javascript 模块化
var seckill={
    //封装秒杀相关ajax的url
    URL : {
        now : function(){
            return '/seckill/time/now';
        },
        exposer : function(seckillId){
            return '/seckill/'+seckillId+'/exposer';
        },
        execution : function(seckillId,md5){
            return '/seckill/'+seckillId+'/'+md5+'/execution';
        }
    },
    //验证手机号
    validatePhone : function(phone){
        if(phone && phone.length == 11 && !isNaN(phone)){
            return true;
        }else {
            return false;
        }
    },
    handleSeckillkill : function(seckillId,node){
        //获取秒杀地址，控制现实逻辑，执行秒杀
        node.hide().html('<button class="btn btn-primary btn-1g" id="killBtn">开始秒杀</button>');
        $.post(seckill.URL.exposer(seckillId),{},function (result) {
            //在回调函数中,执行交互流程
            if (result && result['success']){
                var exposer = result['data'];
                if (exposer['exposed']){
                    //开启秒杀
                    //获取秒杀地址
                    var md5 = exposer['md5'];
                    var killUrl = seckill.URL.execution(seckillId,md5);
                    console.log('killUrl:'+killUrl);
                    $('#killBtn').one('click',function () {
                       //绑定执行秒杀请求的操作
                        //1:先禁用按钮
                        $(this).addClass('disabled');
                        //2:发送秒杀请求
                        $.post(killUrl,{},function(result){
                            if (result &&  result['success']){
                                var killResult = result['data'];
                                var state = killResult['state'];
                                var stateInfo = killResult['stateInfo'];
                                //显示秒杀结果
                                node.html('<span class="label label-success">' + stateInfo + '</span>');

                            }
                        });
                    });
                    node.show();
                }else {
                    //未开启秒杀
                    console.log("result:"+result);
                    var now = exposer['now'];
                    var start = exposer['start'];
                    var end = exposer['end'];
                    //重新进入计时逻辑
                    seckill.countdown(seckillId,now,start,end);
                }
            }else {

            }
        });
        },
    countdown  : function(seckillId,nowTime,startTime,endTime){
        var seckillBox = $('#seckill-box');
        //时间判断
        if (nowTime > endTime){
            //秒杀结束
            seckillBox.html("秒杀结束");
        }else if (nowTime < startTime){
            //秒杀未开始,计时事件绑定
            var killTime = new Date(startTime+1000);
            
            seckillBox.countdown(killTime,function (event) {
                //计时插件
                var format = event.strftime('秒杀倒计时: %D天 %H时 %M分 %S秒');
                seckillBox.html(format);
                /*时间完成后回调事件*/
            }).on('finish.countdown',function(){

                seckill.handleSeckillkill(seckillId,seckillBox);
            });
        }else {
            //秒杀结束
            seckill.handleSeckillkill(seckillId,seckillBox);
        }
    },
    //详情秒杀逻辑
    detail :{
        //详情页初始化
        init : function (parms){
            //用户手机验证和登陆，计时交互
            //规划我们的交互流程
            //在cokkie中查找手机号
            var killPhone =$.cookie('killPhone');


            //验证手机号
            if (! seckill.validatePhone(killPhone)){
                //绑定手机号
                var killPhoneModal = $('#killPhoneModal');
                //显示弹出层
                killPhoneModal.modal({
                    show:true,//显示弹出层
                    backdrop:false,//禁止位置关闭
                    keyboard:false//关闭键盘事件
                });
                $('#killPhoneBtn').click(function () {
                   var inputPhone = $('#killPhoneKey').val();
                    if (seckill.validatePhone(inputPhone)){
                        //电话写入cookie
                        $.cookie('killPhone',inputPhone,{expires:7,path:'/seckill'});
                        //刷新页面
                        window.location.reload();
                    }else {
                        $('#killPhoneMessage').hide().html('<label class="label label-danger">手机号错误!</label>').show(300);
                    }
                });
            }
            //已经登陆
            //记时交互
            var startTime = parms['startTime'];
            var endTime = parms['endTime'];
            var seckillId = parms['seckillId'];
            $.get(seckill.URL.now(),{},function (result){
                if (result && result['success']){
                    var nowTime = result['data'];
                    //时间判断,计时服务的判断
                    seckill.countdown(seckillId,nowTime,startTime,endTime);
                }else {
                    console.log('result；'+result);
                }
            });
        }
    }
};